package com.ruoyi.core.service;

import com.ruoyi.common.entity.CoreEntity.Members;
import com.ruoyi.common.entity.CoreEntity.ShippingAddresses;
import com.ruoyi.common.entity.TransactionEntity.Sku;

import java.util.List;


/**
 * 会员信息Service接口
 * 
 * @author 亢哲
 * @date 2025-08-07
 */
public interface IMembersService 
{

    /**
     * 修改手机号
     */
    int updatePhone(Long memberId, String phone);

    /**
     * 修改支付密码
     */
    int updatePayPassword(Long memberId, String payPassword);


    /**
     * 根据用户名查询会员
     * @param username 用户名
     * @return Members 或 null
     */
    Members selectMembersByUsername(String username);

    /**
     * 查询一个会员的所有收货地址
     * @param membersId 会员id
     * @return 收货地址列表
     */
    public List<ShippingAddresses> selectShippingAddressesByMembersId(Long membersId);
    /**
     * 查询会员信息
     * 
     * @param id 会员信息主键
     * @return 会员信息
     */
    public Members selectMembersById(Long id);

    /**
     * 查询会员信息列表
     * 
     * @param members 会员信息
     * @return 会员信息集合
     */
    public List<Members> selectMembersList(Members members);

    /**
     * 新增会员信息
     * 
     * @param members 会员信息
     * @return 结果
     */
    public int insertMembers(Members members);



    /**
     * 修改会员信息
     * 
     * @param members 会员信息
     * @return 结果
     */
    public int updateMembers(Members members);

    /**
     * 批量删除会员信息
     * 
     * @param ids 需要删除的会员信息主键集合
     * @return 结果
     */
    public int deleteMembersByIds(Long[] ids);

    /**
     * 删除会员信息信息
     * 
     * @param id 会员信息主键
     * @return 结果
     */
    public int deleteMembersById(Long id);

    /**
     * 查询会员的收藏商品
     * @param membersId 会员id
     * @return 收藏商品列表
     */
    public List<Sku> selectSkuListByMembersId(Long membersId);

//    Sxz
Members getMemberWithDetailsById(Long userId);
}
